Communication and other computing system-based security practices increasingly require multi-factor evaluation. This is especially becoming the case in cloud computing environments. As is known, “cloud computing” is a computing model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction, see, e.g., “The National Institute of Standards and Technology (NIST) Definition of Cloud Computing,” Special Publication 800-145, January 2011, the disclosure of which is incorporated by reference herein in its entirety.
One example of a communication system-based multi-factor evaluation is authentication, which is the process of confirming the truth of an attribute of an entity, object or data. For example, in the case of a communication system, authentication may involve confirming the identity of a communication device or party, or some object associated with the device and/or party, prior to allowing a communication session to be created or some computing operation to commence. Such a process may involve an evaluation of multiple factors.
Typically, these factors may be characterized by their respective costs (e.g., in terms of execution time or equipment) and a probability to succeed. Since failing only one of these factors could be sufficient to fail the entire test, the order of testing the factors could be essential. It is known that a straightforward approach for minimizing the mathematical expectation associated with such an evaluation results in the execution of a burdensome exponential algorithm.